#include "datafilter.h"

Filter::Filter(int flag, int min, int max):
    m_flag(flag),
    m_min(min),
    m_max(max)
{

}

int Filter::getFlag() const
{
    return m_flag;
}
int Filter::getMin() const
{
    return m_min;
}
int Filter::getMax() const
{
    return m_max;
}
bool Filter::filtering(int vlaue) const
{
    if (vlaue >= m_min && vlaue <= m_max) return true;
    return false;
}
void Filter::setMin(int min)
{
    m_min = min;
}
void Filter::setMax(int max)
{
    m_max = max;
}






/***********************************************************************************************/

DataFilter::DataFilter()
{
}

void DataFilter::addAFilter(const Filter &f)
{
    QList<Filter>::iterator it = m_list.begin();
    for (;it != m_list.end();++it) {
        if ((*it).getFlag() == f.getFlag()) {
            (*it).setMin(f.getMin());
            (*it).setMax(f.getMax());
            return;
        }
    }
    m_list.append(f);
}
bool DataFilter::filtering(int flag,int vlaue) const
{
    foreach (const Filter &t, m_list) {
        if (flag == t.getFlag()) {
            return t.filtering(vlaue);
        }

    }
    return true;


}
